/**
 * @brief  Low Level Sparse Linear Algebra functions wrapper of cuSolver
 * APIs
 */

#ifndef CUSOLVERSP_LOWLEVEL_PREVIEW_WRAPPER_H_
#define CUSOLVERSP_LOWLEVEL_PREVIEW_WRAPPER_H_

#include "cusolverSp_wrapper.h"
#include "mcsolverSp_LOWLEVEL_PREVIEW.h"

#define CUSOLVERSP_LOWLEVEL_PREVIEW_H_ MCSOLVER_CUSOLVER_SP_LOWLEVEL_PREVIEW_H_

#define csrluInfoHost mcsolverCsrluInfoHost
#define csrluInfoHost_t mcsolverCsrluInfoHost_t
#define csrqrInfoHost mcsolverCsrqrInfoHost
#define csrqrInfoHost_t mcsolverCsrqrInfoHost_t
#define csrcholInfoHost mcsolverCsrcholInfoHost
#define csrcholInfoHost_t mcsolverCsrcholInfoHost_t
#define csrcholInfo mcsolverCsrcholInfo
#define csrcholInfo_t mcsolverCsrcholInfo_t

#define cusolverSpCreateCsrluInfoHost mcsolverSpCreateCsrluInfoHost
#define cusolverSpDestroyCsrluInfoHost mcsolverSpDestroyCsrluInfoHost
#define cusolverSpXcsrluAnalysisHost mcsolverSpXcsrluAnalysisHost
#define cusolverSpScsrluBufferInfoHost mcsolverSpScsrluBufferInfoHost
#define cusolverSpDcsrluBufferInfoHost mcsolverSpDcsrluBufferInfoHost
#define cusolverSpCcsrluBufferInfoHost mcsolverSpCcsrluBufferInfoHost
#define cusolverSpZcsrluBufferInfoHost mcsolverSpZcsrluBufferInfoHost
#define cusolverSpScsrluFactorHost mcsolverSpScsrluFactorHost
#define cusolverSpDcsrluFactorHost mcsolverSpDcsrluFactorHost
#define cusolverSpCcsrluFactorHost mcsolverSpCcsrluFactorHost
#define cusolverSpZcsrluFactorHost mcsolverSpZcsrluFactorHost
#define cusolverSpScsrluZeroPivotHost mcsolverSpScsrluZeroPivotHost
#define cusolverSpDcsrluZeroPivotHost mcsolverSpDcsrluZeroPivotHost
#define cusolverSpCcsrluZeroPivotHost mcsolverSpCcsrluZeroPivotHost
#define cusolverSpZcsrluZeroPivotHost mcsolverSpZcsrluZeroPivotHost
#define cusolverSpScsrluSolveHost mcsolverSpScsrluSolveHost
#define cusolverSpDcsrluSolveHost mcsolverSpDcsrluSolveHost
#define cusolverSpCcsrluSolveHost mcsolverSpCcsrluSolveHost
#define cusolverSpZcsrluSolveHost mcsolverSpZcsrluSolveHost
#define cusolverSpXcsrluNnzHost mcsolverSpXcsrluNnzHost
#define cusolverSpScsrluExtractHost mcsolverSpScsrluExtractHost
#define cusolverSpDcsrluExtractHost mcsolverSpDcsrluExtractHost
#define cusolverSpCcsrluExtractHost mcsolverSpCcsrluExtractHost
#define cusolverSpZcsrluExtractHost mcsolverSpZcsrluExtractHost
#define cusolverSpCreateCsrqrInfoHost mcsolverSpCreateCsrqrInfoHost
#define cusolverSpDestroyCsrqrInfoHost mcsolverSpDestroyCsrqrInfoHost
#define cusolverSpXcsrqrAnalysisHost mcsolverSpXcsrqrAnalysisHost
#define cusolverSpScsrqrBufferInfoHost mcsolverSpScsrqrBufferInfoHost
#define cusolverSpDcsrqrBufferInfoHost mcsolverSpDcsrqrBufferInfoHost
#define cusolverSpCcsrqrBufferInfoHost mcsolverSpCcsrqrBufferInfoHost
#define cusolverSpZcsrqrBufferInfoHost mcsolverSpZcsrqrBufferInfoHost
#define cusolverSpScsrqrSetupHost mcsolverSpScsrqrSetupHost
#define cusolverSpDcsrqrSetupHost mcsolverSpDcsrqrSetupHost
#define cusolverSpCcsrqrSetupHost mcsolverSpCcsrqrSetupHost
#define cusolverSpZcsrqrSetupHost mcsolverSpZcsrqrSetupHost
#define cusolverSpScsrqrFactorHost mcsolverSpScsrqrFactorHost
#define cusolverSpDcsrqrFactorHost mcsolverSpDcsrqrFactorHost
#define cusolverSpCcsrqrFactorHost mcsolverSpCcsrqrFactorHost
#define cusolverSpZcsrqrFactorHost mcsolverSpZcsrqrFactorHost
#define cusolverSpScsrqrZeroPivotHost mcsolverSpScsrqrZeroPivotHost
#define cusolverSpDcsrqrZeroPivotHost mcsolverSpDcsrqrZeroPivotHost
#define cusolverSpCcsrqrZeroPivotHost mcsolverSpCcsrqrZeroPivotHost
#define cusolverSpZcsrqrZeroPivotHost mcsolverSpZcsrqrZeroPivotHost
#define cusolverSpScsrqrSolveHost mcsolverSpScsrqrSolveHost
#define cusolverSpDcsrqrSolveHost mcsolverSpDcsrqrSolveHost
#define cusolverSpCcsrqrSolveHost mcsolverSpCcsrqrSolveHost
#define cusolverSpZcsrqrSolveHost mcsolverSpZcsrqrSolveHost
#define cusolverSpXcsrqrAnalysis mcsolverSpXcsrqrAnalysis
#define cusolverSpScsrqrBufferInfo mcsolverSpScsrqrBufferInfo
#define cusolverSpDcsrqrBufferInfo mcsolverSpDcsrqrBufferInfo
#define cusolverSpCcsrqrBufferInfo mcsolverSpCcsrqrBufferInfo
#define cusolverSpZcsrqrBufferInfo mcsolverSpZcsrqrBufferInfo
#define cusolverSpScsrqrSetup mcsolverSpScsrqrSetup
#define cusolverSpDcsrqrSetup mcsolverSpDcsrqrSetup
#define cusolverSpCcsrqrSetup mcsolverSpCcsrqrSetup
#define cusolverSpZcsrqrSetup mcsolverSpZcsrqrSetup
#define cusolverSpScsrqrFactor mcsolverSpScsrqrFactor
#define cusolverSpDcsrqrFactor mcsolverSpDcsrqrFactor
#define cusolverSpCcsrqrFactor mcsolverSpCcsrqrFactor
#define cusolverSpZcsrqrFactor mcsolverSpZcsrqrFactor
#define cusolverSpScsrqrZeroPivot mcsolverSpScsrqrZeroPivot
#define cusolverSpDcsrqrZeroPivot mcsolverSpDcsrqrZeroPivot
#define cusolverSpCcsrqrZeroPivot mcsolverSpCcsrqrZeroPivot
#define cusolverSpZcsrqrZeroPivot mcsolverSpZcsrqrZeroPivot
#define cusolverSpScsrqrSolve mcsolverSpScsrqrSolve
#define cusolverSpDcsrqrSolve mcsolverSpDcsrqrSolve
#define cusolverSpCcsrqrSolve mcsolverSpCcsrqrSolve
#define cusolverSpZcsrqrSolve mcsolverSpZcsrqrSolve
#define cusolverSpCreateCsrcholInfoHost mcsolverSpCreateCsrcholInfoHost
#define cusolverSpDestroyCsrcholInfoHost mcsolverSpDestroyCsrcholInfoHost
#define cusolverSpXcsrcholAnalysisHost mcsolverSpXcsrcholAnalysisHost
#define cusolverSpScsrcholBufferInfoHost mcsolverSpScsrcholBufferInfoHost
#define cusolverSpDcsrcholBufferInfoHost mcsolverSpDcsrcholBufferInfoHost
#define cusolverSpCcsrcholBufferInfoHost mcsolverSpCcsrcholBufferInfoHost
#define cusolverSpZcsrcholBufferInfoHost mcsolverSpZcsrcholBufferInfoHost
#define cusolverSpScsrcholFactorHost mcsolverSpScsrcholFactorHost
#define cusolverSpDcsrcholFactorHost mcsolverSpDcsrcholFactorHost
#define cusolverSpCcsrcholFactorHost mcsolverSpCcsrcholFactorHost
#define cusolverSpZcsrcholFactorHost mcsolverSpZcsrcholFactorHost
#define cusolverSpScsrcholZeroPivotHost mcsolverSpScsrcholZeroPivotHost
#define cusolverSpDcsrcholZeroPivotHost mcsolverSpDcsrcholZeroPivotHost
#define cusolverSpCcsrcholZeroPivotHost mcsolverSpCcsrcholZeroPivotHost
#define cusolverSpZcsrcholZeroPivotHost mcsolverSpZcsrcholZeroPivotHost
#define cusolverSpScsrcholSolveHost mcsolverSpScsrcholSolveHost
#define cusolverSpDcsrcholSolveHost mcsolverSpDcsrcholSolveHost
#define cusolverSpCcsrcholSolveHost mcsolverSpCcsrcholSolveHost
#define cusolverSpZcsrcholSolveHost mcsolverSpZcsrcholSolveHost
#define cusolverSpCreateCsrcholInfo mcsolverSpCreateCsrcholInfo
#define cusolverSpDestroyCsrcholInfo mcsolverSpDestroyCsrcholInfo
#define cusolverSpXcsrcholAnalysis mcsolverSpXcsrcholAnalysis
#define cusolverSpScsrcholBufferInfo mcsolverSpScsrcholBufferInfo
#define cusolverSpDcsrcholBufferInfo mcsolverSpDcsrcholBufferInfo
#define cusolverSpCcsrcholBufferInfo mcsolverSpCcsrcholBufferInfo
#define cusolverSpZcsrcholBufferInfo mcsolverSpZcsrcholBufferInfo
#define cusolverSpScsrcholFactor mcsolverSpScsrcholFactor
#define cusolverSpDcsrcholFactor mcsolverSpDcsrcholFactor
#define cusolverSpCcsrcholFactor mcsolverSpCcsrcholFactor
#define cusolverSpZcsrcholFactor mcsolverSpZcsrcholFactor
#define cusolverSpScsrcholZeroPivot mcsolverSpScsrcholZeroPivot
#define cusolverSpDcsrcholZeroPivot mcsolverSpDcsrcholZeroPivot
#define cusolverSpCcsrcholZeroPivot mcsolverSpCcsrcholZeroPivot
#define cusolverSpZcsrcholZeroPivot mcsolverSpZcsrcholZeroPivot
#define cusolverSpScsrcholSolve mcsolverSpScsrcholSolve
#define cusolverSpDcsrcholSolve mcsolverSpDcsrcholSolve
#define cusolverSpCcsrcholSolve mcsolverSpCcsrcholSolve
#define cusolverSpZcsrcholSolve mcsolverSpZcsrcholSolve
#define cusolverSpScsrcholDiag mcsolverSpScsrcholDiag
#define cusolverSpDcsrcholDiag mcsolverSpDcsrcholDiag
#define cusolverSpCcsrcholDiag mcsolverSpCcsrcholDiag
#define cusolverSpZcsrcholDiag mcsolverSpZcsrcholDiag
#endif
